Fix various problems with cursor positioning around display properties.
authorEli Zaretskii <eliz@gnu.org>
Sat, 9 Jul 2011 13:57:13 +0000 (16:57 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 9 Jul 2011 13:57:13 +0000 (16:57 +0300)
commitdc1764e400c574083677ec23279c704bfc38e33a
tree9b1457d57ba67e6f62c2c1d997d14f11b7ccddba
parentcf82285941db7f63867eaa4bfdc61f159940e81d
Fix various problems with cursor positioning around display properties.

 src/xdisp.c (move_it_in_display_line_to): Record prev_method and
 prev_pos immediately before the call to set_iterator_to_next.
 Fixes cursor motion in bidi-reordered lines with stretch glyphs
 and strings displayed in margins.  (Bug#8133)  (Bug#8867)
 Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
 TO_CHARPOS.
 (pos_visible_p): Support positions in bidi-reordered lines.  Save
 and restore bidi cache.
 (move_it_in_display_line_to): If iterator ended up at
 EOL, but we never saw any buffer positions smaller than
 to_charpos, return MOVE_POS_MATCH_OR_ZV.  Fixes vertical cursor
 motion in bidi-reordered lines.
src/ChangeLog
src/xdisp.c